Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
100.00% |
26 / 26 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
1 / 1 |
| AuthServiceProvider | |
100.00% |
26 / 26 |
|
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
| boot | |
100.00% |
26 / 26 |
|
100.00% |
1 / 1 |
1 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace Crater\Providers; |
| 4 | |
| 5 | use Crater\Policies\CompanyPolicy; |
| 6 | use Crater\Policies\CustomerPolicy; |
| 7 | use Crater\Policies\DashboardPolicy; |
| 8 | use Crater\Policies\EstimatePolicy; |
| 9 | use Crater\Policies\ExpensePolicy; |
| 10 | use Crater\Policies\InvoicePolicy; |
| 11 | use Crater\Policies\ItemPolicy; |
| 12 | use Crater\Policies\ModulesPolicy; |
| 13 | use Crater\Policies\NotePolicy; |
| 14 | use Crater\Policies\OwnerPolicy; |
| 15 | use Crater\Policies\PaymentPolicy; |
| 16 | use Crater\Policies\RecurringInvoicePolicy; |
| 17 | use Crater\Policies\ReportPolicy; |
| 18 | use Crater\Policies\SettingsPolicy; |
| 19 | use Crater\Policies\UserPolicy; |
| 20 | use Gate; |
| 21 | use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; |
| 22 | |
| 23 | class AuthServiceProvider extends ServiceProvider |
| 24 | { |
| 25 | /** |
| 26 | * The policy mappings for the application. |
| 27 | * |
| 28 | * @var array |
| 29 | */ |
| 30 | protected $policies = [ |
| 31 | \Crater\Models\Customer::class => \Crater\Policies\CustomerPolicy::class, |
| 32 | \Crater\Models\Invoice::class => \Crater\Policies\InvoicePolicy::class, |
| 33 | \Crater\Models\Estimate::class => \Crater\Policies\EstimatePolicy::class, |
| 34 | \Crater\Models\Payment::class => \Crater\Policies\PaymentPolicy::class, |
| 35 | \Crater\Models\Expense::class => \Crater\Policies\ExpensePolicy::class, |
| 36 | \Crater\Models\ExpenseCategory::class => \Crater\Policies\ExpenseCategoryPolicy::class, |
| 37 | \Crater\Models\PaymentMethod::class => \Crater\Policies\PaymentMethodPolicy::class, |
| 38 | \Crater\Models\TaxType::class => \Crater\Policies\TaxTypePolicy::class, |
| 39 | \Crater\Models\CustomField::class => \Crater\Policies\CustomFieldPolicy::class, |
| 40 | \Crater\Models\User::class => \Crater\Policies\UserPolicy::class, |
| 41 | \Crater\Models\Item::class => \Crater\Policies\ItemPolicy::class, |
| 42 | \Silber\Bouncer\Database\Role::class => \Crater\Policies\RolePolicy::class, |
| 43 | \Crater\Models\Unit::class => \Crater\Policies\UnitPolicy::class, |
| 44 | \Crater\Models\RecurringInvoice::class => \Crater\Policies\RecurringInvoicePolicy::class, |
| 45 | \Crater\Models\ExchangeRateProvider::class => \Crater\Policies\ExchangeRateProviderPolicy::class, |
| 46 | ]; |
| 47 | |
| 48 | /** |
| 49 | * Register any authentication / authorization services. |
| 50 | * |
| 51 | * @return void |
| 52 | */ |
| 53 | public function boot() |
| 54 | { |
| 55 | $this->registerPolicies(); |
| 56 | |
| 57 | Gate::define('create company', [CompanyPolicy::class, 'create']); |
| 58 | Gate::define('transfer company ownership', [CompanyPolicy::class, 'transferOwnership']); |
| 59 | Gate::define('delete company', [CompanyPolicy::class, 'delete']); |
| 60 | |
| 61 | Gate::define('manage modules', [ModulesPolicy::class, 'manageModules']); |
| 62 | |
| 63 | Gate::define('manage settings', [SettingsPolicy::class, 'manageSettings']); |
| 64 | Gate::define('manage company', [SettingsPolicy::class, 'manageCompany']); |
| 65 | Gate::define('manage backups', [SettingsPolicy::class, 'manageBackups']); |
| 66 | Gate::define('manage file disk', [SettingsPolicy::class, 'manageFileDisk']); |
| 67 | Gate::define('manage email config', [SettingsPolicy::class, 'manageEmailConfig']); |
| 68 | Gate::define('manage notes', [NotePolicy::class, 'manageNotes']); |
| 69 | Gate::define('view notes', [NotePolicy::class, 'viewNotes']); |
| 70 | |
| 71 | Gate::define('send invoice', [InvoicePolicy::class, 'send']); |
| 72 | Gate::define('send estimate', [EstimatePolicy::class, 'send']); |
| 73 | Gate::define('send payment', [PaymentPolicy::class, 'send']); |
| 74 | |
| 75 | Gate::define('delete multiple items', [ItemPolicy::class, 'deleteMultiple']); |
| 76 | Gate::define('delete multiple customers', [CustomerPolicy::class, 'deleteMultiple']); |
| 77 | Gate::define('delete multiple users', [UserPolicy::class, 'deleteMultiple']); |
| 78 | Gate::define('delete multiple invoices', [InvoicePolicy::class, 'deleteMultiple']); |
| 79 | Gate::define('delete multiple estimates', [EstimatePolicy::class, 'deleteMultiple']); |
| 80 | Gate::define('delete multiple expenses', [ExpensePolicy::class, 'deleteMultiple']); |
| 81 | Gate::define('delete multiple payments', [PaymentPolicy::class, 'deleteMultiple']); |
| 82 | Gate::define('delete multiple recurring invoices', [RecurringInvoicePolicy::class, 'deleteMultiple']); |
| 83 | |
| 84 | Gate::define('view dashboard', [DashboardPolicy::class, 'view']); |
| 85 | |
| 86 | Gate::define('view report', [ReportPolicy::class, 'viewReport']); |
| 87 | |
| 88 | Gate::define('owner only', [OwnerPolicy::class, 'managedByOwner']); |
| 89 | } |
| 90 | } |